package com.dragon.modules.yuegou.entity.lot;

import com.baomidou.mybatisplus.annotation.TableName;
import com.dragon.modules.yuegou.enums.lot.ActivityProcessStatus;
import com.dragon.modules.yuegou.enums.lot.ActivityPublishStatus;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 抽奖活动表实体类<br>
 * 对应的表为：lot_activity<br>
 * 
 * @author pbuilder generated
 * @date 2019-10-25 09:04:07
 * @company sgy
 * @version 2.0
 */
@TableName("lot_activity")
@ApiModel(description = "抽奖活动表")
public class ActivityEntity {

	/**  */
	protected String id;

    /** 商圈ID */
	@ApiModelProperty("商圈ID")
	protected String busdId;

    /** 活动名称 */
	@ApiModelProperty("活动名称")
	protected String name;

    /** 商家ID */
	@ApiModelProperty("商家ID")
	protected String merchantId;

    /** 活动图片 */
	@ApiModelProperty("活动图片")
	protected String image;

    /** 奖品id */
	@ApiModelProperty("奖品id")
	protected String skuId;

    /** 奖品名称 */
	@ApiModelProperty("奖品名称")
	protected String skuName;

    /** 奖品价值 */
	@ApiModelProperty("奖品价值")
	protected BigDecimal price;

    /** 获奖人数 */
	@ApiModelProperty("获奖人数")
	protected Integer awardNum;

    /** 活动规则 */
	@ApiModelProperty("活动规则")
	protected String rule;

    /** 用户单日最高获取奖券数量 */
	@ApiModelProperty("用户单日最高获取奖券数量")
	protected Integer userJoinMaxNum;

    /** 报名开始时间 */
	@ApiModelProperty("报名开始时间")
	protected LocalDateTime joinBeginTime;

    /** 报名结束时间 */
	@ApiModelProperty("报名结束时间")
	protected LocalDateTime joinEndTime;

    /** 开奖时间 精确到小时 */
	@ApiModelProperty("开奖时间 精确到小时")
	protected LocalDateTime drawBeginTime;

    /** 开奖结束时间 开奖当天的结束时间 */
	@ApiModelProperty("开奖结束时间 开奖当天的结束时间")
	protected LocalDateTime drawEndTime;

    /** 是否开奖：0-未开奖；1-已开奖 */
	@ApiModelProperty("是否开奖：0-未开奖；1-已开奖")
	protected Boolean isDraw;

    /** [枚举]活动进行状态：0-进行中-PROCESSIONG、1-即将开始-ABOUT_START、2-已结束-OVER */
	@ApiModelProperty("[枚举]活动进行状态：0-进行中-PROCESSIONG、1-即将开始-ABOUT_START、2-已结束-OVER")
	protected ActivityProcessStatus processStatus;

    /** [枚举]上架状态：0-下架-LOWER、1-上架-UPPER */
	@ApiModelProperty("[枚举]上架状态：0-下架-LOWER、1-上架-UPPER")
	protected ActivityPublishStatus publishStatus;

    /** 创建人ID */
	@ApiModelProperty("创建人ID")
	protected String createdBy;

    /** 创建时间 */
	@ApiModelProperty("创建时间")
	protected LocalDateTime createdTime;

    /** 更新人ID */
	@ApiModelProperty("更新人ID")
	protected String modifiedBy;

    /** 更新时间 */
	@ApiModelProperty("更新时间")
	protected LocalDateTime modifiedTime;

	/**
	 * 构造一个空抽奖活动表实体对象
	 */
	public ActivityEntity(){
		super();
	}

	/**
	 * 依据其它对象的信息构造一个抽奖活动表实体对象
	 * 
	 * @param other 其它对象
	 */
	public ActivityEntity(ActivityEntity other){
		super();
     	this.id = other.id;
     	this.busdId = other.busdId;
     	this.name = other.name;
     	this.merchantId = other.merchantId;
     	this.image = other.image;
     	this.skuId = other.skuId;
     	this.skuName = other.skuName;
     	this.price = other.price;
     	this.awardNum = other.awardNum;
     	this.rule = other.rule;
     	this.userJoinMaxNum = other.userJoinMaxNum;
     	this.joinBeginTime = other.joinBeginTime;
     	this.joinEndTime = other.joinEndTime;
     	this.drawBeginTime = other.drawBeginTime;
     	this.drawEndTime = other.drawEndTime;
     	this.isDraw = other.isDraw;
     	this.processStatus = other.processStatus;
     	this.publishStatus = other.publishStatus;
     	this.createdBy = other.createdBy;
     	this.createdTime = other.createdTime;
     	this.modifiedBy = other.modifiedBy;
     	this.modifiedTime = other.modifiedTime;
	}


	/**
	 * 获取
	 * 
	 * @return id 
	 */
	public String getId() {
		return id;
	}
  	
	/**
	 * 设置
	 * 
	 * @param id 
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取商圈ID
	 * 
	 * @return busdId 商圈ID
	 */
	public String getBusdId() {
		return busdId;
	}
  	
	/**
	 * 设置商圈ID
	 * 
	 * @param busdId 商圈ID
	 */
	public void setBusdId(String busdId) {
		this.busdId = busdId;
	}

	/**
	 * 获取活动名称
	 * 
	 * @return name 活动名称
	 */
	public String getName() {
		return name;
	}
  	
	/**
	 * 设置活动名称
	 * 
	 * @param name 活动名称
	 */
	public void setName(String name) {
		this.name = name;
	}

	/**
	 * 获取商家ID
	 * 
	 * @return merchantId 商家ID
	 */
	public String getMerchantId() {
		return merchantId;
	}
  	
	/**
	 * 设置商家ID
	 * 
	 * @param merchantId 商家ID
	 */
	public void setMerchantId(String merchantId) {
		this.merchantId = merchantId;
	}

	/**
	 * 获取活动图片
	 * 
	 * @return image 活动图片
	 */
	public String getImage() {
		return image;
	}
  	
	/**
	 * 设置活动图片
	 * 
	 * @param image 活动图片
	 */
	public void setImage(String image) {
		this.image = image;
	}

	/**
	 * 获取奖品id
	 * 
	 * @return skuId 奖品id
	 */
	public String getSkuId() {
		return skuId;
	}
  	
	/**
	 * 设置奖品id
	 * 
	 * @param skuId 奖品id
	 */
	public void setSkuId(String skuId) {
		this.skuId = skuId;
	}

	/**
	 * 获取奖品名称
	 * 
	 * @return skuName 奖品名称
	 */
	public String getSkuName() {
		return skuName;
	}
  	
	/**
	 * 设置奖品名称
	 * 
	 * @param skuName 奖品名称
	 */
	public void setSkuName(String skuName) {
		this.skuName = skuName;
	}

	/**
	 * 获取奖品价值
	 * 
	 * @return price 奖品价值
	 */
	public BigDecimal getPrice() {
		return price;
	}
  	
	/**
	 * 设置奖品价值
	 * 
	 * @param price 奖品价值
	 */
	public void setPrice(BigDecimal price) {
		this.price = price;
	}

	/**
	 * 获取获奖人数
	 * 
	 * @return awardNum 获奖人数
	 */
	public Integer getAwardNum() {
		return awardNum;
	}
  	
	/**
	 * 设置获奖人数
	 * 
	 * @param awardNum 获奖人数
	 */
	public void setAwardNum(Integer awardNum) {
		this.awardNum = awardNum;
	}

	/**
	 * 获取活动规则
	 * 
	 * @return rule 活动规则
	 */
	public String getRule() {
		return rule;
	}
  	
	/**
	 * 设置活动规则
	 * 
	 * @param rule 活动规则
	 */
	public void setRule(String rule) {
		this.rule = rule;
	}

	/**
	 * 获取用户单日最高获取奖券数量
	 * 
	 * @return userJoinMaxNum 用户单日最高获取奖券数量
	 */
	public Integer getUserJoinMaxNum() {
		return userJoinMaxNum;
	}
  	
	/**
	 * 设置用户单日最高获取奖券数量
	 * 
	 * @param userJoinMaxNum 用户单日最高获取奖券数量
	 */
	public void setUserJoinMaxNum(Integer userJoinMaxNum) {
		this.userJoinMaxNum = userJoinMaxNum;
	}

	/**
	 * 获取报名开始时间
	 * 
	 * @return joinBeginTime 报名开始时间
	 */
	public LocalDateTime getJoinBeginTime() {
		return joinBeginTime;
	}
  	
	/**
	 * 设置报名开始时间
	 * 
	 * @param joinBeginTime 报名开始时间
	 */
	public void setJoinBeginTime(LocalDateTime joinBeginTime) {
		this.joinBeginTime = joinBeginTime;
	}

	/**
	 * 获取报名结束时间
	 * 
	 * @return joinEndTime 报名结束时间
	 */
	public LocalDateTime getJoinEndTime() {
		return joinEndTime;
	}
  	
	/**
	 * 设置报名结束时间
	 * 
	 * @param joinEndTime 报名结束时间
	 */
	public void setJoinEndTime(LocalDateTime joinEndTime) {
		this.joinEndTime = joinEndTime;
	}

	/**
	 * 获取开奖时间 精确到小时
	 * 
	 * @return drawBeginTime 开奖时间 精确到小时
	 */
	public LocalDateTime getDrawBeginTime() {
		return drawBeginTime;
	}
  	
	/**
	 * 设置开奖时间 精确到小时
	 * 
	 * @param drawBeginTime 开奖时间 精确到小时
	 */
	public void setDrawBeginTime(LocalDateTime drawBeginTime) {
		this.drawBeginTime = drawBeginTime;
	}

	/**
	 * 获取开奖结束时间 开奖当天的结束时间
	 * 
	 * @return drawEndTime 开奖结束时间 开奖当天的结束时间
	 */
	public LocalDateTime getDrawEndTime() {
		return drawEndTime;
	}
  	
	/**
	 * 设置开奖结束时间 开奖当天的结束时间
	 * 
	 * @param drawEndTime 开奖结束时间 开奖当天的结束时间
	 */
	public void setDrawEndTime(LocalDateTime drawEndTime) {
		this.drawEndTime = drawEndTime;
	}

	/**
	 * 获取是否开奖：0-未开奖；1-已开奖
	 * 
	 * @return isDraw 是否开奖：0-未开奖；1-已开奖
	 */
	public Boolean getIsDraw() {
		return isDraw;
	}
  	
	/**
	 * 设置是否开奖：0-未开奖；1-已开奖
	 * 
	 * @param isDraw 是否开奖：0-未开奖；1-已开奖
	 */
	public void setIsDraw(Boolean isDraw) {
		this.isDraw = isDraw;
	}

	/**
	 * 获取[枚举]活动进行状态：0-进行中-PROCESSIONG、1-即将开始-ABOUT_START、2-已结束-OVER
	 * 
	 * @return processStatus [枚举]活动进行状态：0-进行中-PROCESSIONG、1-即将开始-ABOUT_START、2-已结束-OVER
	 */
	public ActivityProcessStatus getProcessStatus() {
		return processStatus;
	}
  	
	/**
	 * 设置[枚举]活动进行状态：0-进行中-PROCESSIONG、1-即将开始-ABOUT_START、2-已结束-OVER
	 * 
	 * @param processStatus [枚举]活动进行状态：0-进行中-PROCESSIONG、1-即将开始-ABOUT_START、2-已结束-OVER
	 */
	public void setProcessStatus(ActivityProcessStatus processStatus) {
		this.processStatus = processStatus;
	}

	/**
	 * 获取[枚举]上架状态：0-下架-LOWER、1-上架-UPPER
	 * 
	 * @return publishStatus [枚举]上架状态：0-下架-LOWER、1-上架-UPPER
	 */
	public ActivityPublishStatus getPublishStatus() {
		return publishStatus;
	}
  	
	/**
	 * 设置[枚举]上架状态：0-下架-LOWER、1-上架-UPPER
	 * 
	 * @param publishStatus [枚举]上架状态：0-下架-LOWER、1-上架-UPPER
	 */
	public void setPublishStatus(ActivityPublishStatus publishStatus) {
		this.publishStatus = publishStatus;
	}

	/**
	 * 获取创建人ID
	 * 
	 * @return createdBy 创建人ID
	 */
	public String getCreatedBy() {
		return createdBy;
	}
  	
	/**
	 * 设置创建人ID
	 * 
	 * @param createdBy 创建人ID
	 */
	public void setCreatedBy(String createdBy) {
		this.createdBy = createdBy;
	}

	/**
	 * 获取创建时间
	 * 
	 * @return createdTime 创建时间
	 */
	public LocalDateTime getCreatedTime() {
		return createdTime;
	}
  	
	/**
	 * 设置创建时间
	 * 
	 * @param createdTime 创建时间
	 */
	public void setCreatedTime(LocalDateTime createdTime) {
		this.createdTime = createdTime;
	}

	/**
	 * 获取更新人ID
	 * 
	 * @return modifiedBy 更新人ID
	 */
	public String getModifiedBy() {
		return modifiedBy;
	}
  	
	/**
	 * 设置更新人ID
	 * 
	 * @param modifiedBy 更新人ID
	 */
	public void setModifiedBy(String modifiedBy) {
		this.modifiedBy = modifiedBy;
	}

	/**
	 * 获取更新时间
	 * 
	 * @return modifiedTime 更新时间
	 */
	public LocalDateTime getModifiedTime() {
		return modifiedTime;
	}
  	
	/**
	 * 设置更新时间
	 * 
	 * @param modifiedTime 更新时间
	 */
	public void setModifiedTime(LocalDateTime modifiedTime) {
		this.modifiedTime = modifiedTime;
	}

    public String toString() {
		return new StringBuilder().append("ActivityEntity{").
			append("id=").append(id).
			append(",busdId=").append(busdId).
			append(",name=").append(name).
			append(",merchantId=").append(merchantId).
			append(",image=").append(image).
			append(",skuId=").append(skuId).
			append(",skuName=").append(skuName).
			append(",price=").append(price).
			append(",awardNum=").append(awardNum).
			append(",rule=").append(rule).
			append(",userJoinMaxNum=").append(userJoinMaxNum).
			append(",joinBeginTime=").append(joinBeginTime).
			append(",joinEndTime=").append(joinEndTime).
			append(",drawBeginTime=").append(drawBeginTime).
			append(",drawEndTime=").append(drawEndTime).
			append(",isDraw=").append(isDraw).
			append(",processStatus=").append(processStatus).
			append(",publishStatus=").append(publishStatus).
			append(",createdBy=").append(createdBy).
			append(",createdTime=").append(createdTime).
			append(",modifiedBy=").append(modifiedBy).
			append(",modifiedTime=").append(modifiedTime).
			append('}').toString();
    }

	/**
	 * 复制对象
	 * 
	 * @return 复制后的新实体对象
	 */
	public ActivityEntity copy() {
		return new ActivityEntity(this);
	}

    /**  */
	public static final String COL_ID = "id";

    /** 商圈ID */
	public static final String COL_BUSD_ID = "busd_id";

    /** 活动名称 */
	public static final String COL_NAME = "name";

    /** 商家ID */
	public static final String COL_MERCHANT_ID = "merchant_id";

    /** 活动图片 */
	public static final String COL_IMAGE = "image";

    /** 奖品id */
	public static final String COL_SKU_ID = "sku_id";

    /** 奖品名称 */
	public static final String COL_SKU_NAME = "sku_name";

    /** 奖品价值 */
	public static final String COL_PRICE = "price";

    /** 获奖人数 */
	public static final String COL_AWARD_NUM = "award_num";

    /** 活动规则 */
	public static final String COL_RULE = "rule";

    /** 用户单日最高获取奖券数量 */
	public static final String COL_USER_JOIN_MAX_NUM = "user_join_max_num";

    /** 报名开始时间 */
	public static final String COL_JOIN_BEGIN_TIME = "join_begin_time";

    /** 报名结束时间 */
	public static final String COL_JOIN_END_TIME = "join_end_time";

    /** 开奖时间 精确到小时 */
	public static final String COL_DRAW_BEGIN_TIME = "draw_begin_time";

    /** 开奖结束时间 开奖当天的结束时间 */
	public static final String COL_DRAW_END_TIME = "draw_end_time";

    /** 是否开奖：0-未开奖；1-已开奖 */
	public static final String COL_IS_DRAW = "is_draw";

    /** [枚举]活动进行状态：0-进行中-PROCESSIONG、1-即将开始-ABOUT_START、2-已结束-OVER */
	public static final String COL_PROCESS_STATUS = "process_status";

    /** [枚举]上架状态：0-下架-LOWER、1-上架-UPPER */
	public static final String COL_PUBLISH_STATUS = "publish_status";

    /** 创建人ID */
	public static final String COL_CREATED_BY = "created_by";

    /** 创建时间 */
	public static final String COL_CREATED_TIME = "created_time";

    /** 更新人ID */
	public static final String COL_MODIFIED_BY = "modified_by";

    /** 更新时间 */
	public static final String COL_MODIFIED_TIME = "modified_time";
}
